/*
    switch 减肥计划

    需求:录入星期数.显示减肥活动
        +可多次查询计划 直到输入0 程序结束
        (自加需求:可以自定义退出命令的数字为几)
 */

import java.util.Scanner;

public class LoseWeightPlan02 {
    public static void main(String[] args) {
        //定义变量 星期哪一天
        int day, n = 1;//n:输入n退出

        //输入并判断n的合理性
        while (true){
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入退出命令数字");
            //排除非整数输入可能性
            if (sc.hasNextInt()){
                n = sc.nextInt();
                //排除设置为星期数 与后续功能冲突
                if ((n >= 1) & (n <= 7)) {
                    System.out.println("与功能冲突,请修改设定");
                }else break;
            }else {
                System.out.println("非法字符入侵");
            }
            System.out.println();
        } //让n只有满足(n < 1) || (n > 7)才能成功赋值,否则循环继续


        //键入数据 *注意数据的合理性及对应提醒
        lo:while (true) {//可以不写lo,如果只想运行一次,需要所有break都知道lo:while
            //输入提示
            Scanner sc = new Scanner(System.in);
            System.out.print("请输入星期数:");
            System.out.println("(如无需查看,请输入" + n + "退出)");

            //接收数据
            if (sc.hasNextLine()) {
                //确保整数
                if (sc.hasNextInt()) {
                    //判断情况 采用switch实现 输出对应减肥计划
                    day = sc.nextInt();//检查运行用的 System.out.println(day);
                    //logic:先判断是否是退出指令,再switch找到对应活动
                    //全部数字 = (n,(1-7,其他)) 所以先排除n,再对剩余的值对应语句
                    if (day == n) {
                        System.out.println("感谢使用!");
                        break lo;
                    } else {
                        switch (day) {
                            case 1:
                            case 2:
                            case 3:
                            case 4:
                                System.out.println("跑");
                                System.out.println();
                                break;//*注意break-只跳出switch,while仍然在循环
                            case 5:
                                System.out.println("跳");
                                System.out.println();
                                break;
                            case 6:
                            case 7:
                                System.out.println("球");
                                System.out.println();
                                break;
                            default:
                                System.out.println("一周只有7天!");//数据合理性
                                System.out.println();

                        }
                    }
                } else {
                    System.out.println("请输入合理整数");
                    System.out.println();
                }
            } else {
                //???????????????????? hasNextLine() ?????????????
                //什么时候hasNextLine()=false?具体用法不明
                System.out.println("请输入");
                System.out.println();
            }
        }
    }//两个死循环,其中一个含switch
}

